// // 函数类型
// // 函数类型既要给参数限制类型,也要给返回值限制类型
// // 函数名(参数1:类型1, 参数2: 类型2): 返回值类型
// // 函数声明
// function add (a: number, b: number): number {
//   return a + b
// }
// const num = add(1,3)

// // 函数表达式
// const add1 = (a:number, b:number): number => {
//   return a + b
// }

// add1(1,2)

// // 推荐这种形式
// type AddFn = (a: number,b: number) => number
// const add2: AddFn = (a,b) => {
//   return a+b
// }

// add2(12,2)

// // 可选参数  ?     注意: 可选参数一定在必选参数之后

// function buildName (firstName: string, lastName?:string): string {
//   if (lastName) {
//     return `${firstName}${lastName}`
//   } else {
//     return firstName
//   }
// }

// buildName('韩')
// buildName('韩', '天野')

// // 无返回值
// function log(): void {
//   console.log('我就log一下');
  
// }
// function log1() {
//   console.log('我就log2下');
  
// }

// log()
// log1()

// function arrToStr(arr: (number | string)[], split: string): string {
//     return arr.join(split)
// }

// const msg = arrToStr([1,'啊哈哈', 2], '&')
// console.log(msg);
